namespace Xsxiaosa.Net
{
    using System;

    internal class ProxySocketStrings
    {
        // Methods
        static ProxySocketStrings()
        {
            ProxySocketStrings.NotConnected = "Socket is not connected.";
            ProxySocketStrings.ControlSocketNotConnected = "Control socket is not connected.";
            ProxySocketStrings.AlreadyConnected = "Socket is already connected.";
            ProxySocketStrings.InvalidOperation = "Operation is not allowed in the current state.";
            ProxySocketStrings.ResolveFailed = "Unable to resolve hostname.";
            ProxySocketStrings.DemoExpired = "Trial version of Xsxiaosa ProxySocket for .NET has expired. Please consider registering at http://www.Xsxiaosa.net/.";
            ProxySocketStrings.Socks4RequestFailed = "Socks4 request failed with code {0}.";
            ProxySocketStrings.Socks5GeneralFailure = "General server failure.";
            ProxySocketStrings.Socks5ConnectionNotAllowed = "Connection not allowed by ruleset.";
            ProxySocketStrings.Socks5NetworkUnreachable = "Network unreachable.";
            ProxySocketStrings.Socks5HostUnreachable = "Host unreachable.";
            ProxySocketStrings.Socks5ConnectionRefused = "Connection refused.";
            ProxySocketStrings.Socks5TtlExpired = "TTL expired.";
            ProxySocketStrings.Socks5CommandNotSupported = "Command not supported.";
            ProxySocketStrings.Socks5AddressTypeNotSupported = "Address type not supported.";
            ProxySocketStrings.Socks5UnknownError = "Unknown error.";
            ProxySocketStrings.Socks5DomainResponseInsteadIp = "Server returned domain name, but IPv4 address was expected.";
            ProxySocketStrings.Socks5NewIpResponse = "Server returned IPv6 address, which is not supported yet.";
            ProxySocketStrings.Socks5UnknownAddressType = "Unknown address type.";
            ProxySocketStrings.Socks5InvalidResponse = "Invalid Socks5 response.";
            ProxySocketStrings.Socks5AuthenticationFailed = "Authentication failed.";
            ProxySocketStrings.Socks5NoAcceptableMethods = "No acceptable authentication method found.";
            ProxySocketStrings.Socks5NotSupported = "Socks5 not supported by the Socks server.";
            ProxySocketStrings.HttpNotSupported = "This method is not supported by a HTTP proxy.";
            ProxySocketStrings.HttpInvalidResponse = "Invalid HTTP response.";
            ProxySocketStrings.HttpError = "Error {1} returned by a HTTP proxy ({0}).";
        }

        public ProxySocketStrings()
        {
        }


        // Fields
        public static readonly string AlreadyConnected;
        public static readonly string ControlSocketNotConnected;
        public static readonly string DemoExpired;
        public static readonly string HttpError;
        public static readonly string HttpInvalidResponse;
        public static readonly string HttpNotSupported;
        public static readonly string InvalidOperation;
        public static readonly string NotConnected;
        public static readonly string ResolveFailed;
        public static readonly string Socks4RequestFailed;
        public static readonly string Socks5AddressTypeNotSupported;
        public static readonly string Socks5AuthenticationFailed;
        public static readonly string Socks5CommandNotSupported;
        public static readonly string Socks5ConnectionNotAllowed;
        public static readonly string Socks5ConnectionRefused;
        public static readonly string Socks5DomainResponseInsteadIp;
        public static readonly string Socks5GeneralFailure;
        public static readonly string Socks5HostUnreachable;
        public static readonly string Socks5InvalidResponse;
        public static readonly string Socks5NetworkUnreachable;
        public static readonly string Socks5NewIpResponse;
        public static readonly string Socks5NoAcceptableMethods;
        public static readonly string Socks5NotSupported;
        public static readonly string Socks5TtlExpired;
        public static readonly string Socks5UnknownAddressType;
        public static readonly string Socks5UnknownError;
    }}

